User recognition based user experience platform

ABSTRACT

A device may receive, from a camera device, an image that includes a person. The device may provide the image to a user recognition device and receive, from the user recognition device, a user identifier based on the person included in the image. In addition, the device may obtain user data based on the user identifier, the user data relating to prior activity relating to the person associated with the user identifier. The device may identify a user device based on a first physical location associated with the camera device and a second physical location associated with the user device, and provide the user data to the user device.

BACKGROUND

A variety of computer implemented technologies exist that are capable ofidentifying people based on a visual characteristics. For example,images and/or video of a person, or an object worn or held by a person,can be provided to a facial recognition system, gait analysis system,object identification system, and/or the like, to identify the personincluded in the images and/or video.

SUMMARY

According to some implementations, a device may comprise: one or morememory devices; and one or more processors, communicatively connected tothe one or more memory devices, to: receive, from a camera device, animage that includes a person; provide the image to a user recognitiondevice; receive, from the user recognition device, a user identifierbased on the person included in the image; obtain user data based on theuser identifier, the user data relating to prior activity relating tothe person associated with the user identifier; identify a user devicebased on, a first physical location associated with the camera device,and a second physical location associated with the user device; andprovide the user data to the user device.

According to some possible implementations, a non-transitorycomputer-readable medium may store instructions, the instructionscomprising: one or more instructions that, when executed by one or moreprocessors, cause the one or more processors to: receive, from a cameradevice, an image that includes a person; provide the image to a userrecognition device; obtain, from the user recognition device, a useridentifier associated with the person included in the image; obtain userdata based on the user identifier, the user data including: previouslycollected information regarding the person associated with the useridentifier, or a previously captured image of the person associated withthe user identifier; identify a user device based on, a first physicallocation associated with the camera device, and a second physicallocation associated with the user device; and provide the user data tothe user device.

According to some implementations, a method may comprise: receiving, bya first device and from a camera device, an image that includes aperson; obtaining, by the first device, a user identifier associatedwith the person included in the image; obtaining, by the first device,from a user data storage device, and based on the user identifier, userdata, the user data including: previously collected informationregarding the person associated with the user identifier, and apreviously captured image of the person associated with the useridentifier; identifying, by the first device, user experience data, theuser experience data including a suggested offer for the personassociated with the user identifier, the suggested offer being based onthe user data; and causing, by the first device, display of the userdata and the suggested offer.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an overview of an example implementationdescribed herein;

FIG. 2 is a diagram of an example environment in which systems and/ormethods, described herein, may be implemented;

FIG. 3 is a diagram of example components of one or more devices of FIG.2; and

FIG. 4 is a flow chart of an example process for providing a userrecognition based user experience platform.

DETAILED DESCRIPTION

The following detailed description of example implementations refers tothe accompanying drawings. The same reference numbers in differentdrawings may identify the same or similar elements.

People sometimes enter a place of business, such as a retail store,restaurant, or bank, seeking a particular product or service. Othertimes, people enter a place of business without a particular product orservice in mind. In either situation, individuals working at a place ofbusiness may not know how to best help a person that enters the place ofbusiness without first speaking to the person to understand what thatperson might be interested in. In some situations, a malicious personmay enter a place of business looking to do harm to the business and/oranother person, e.g., by committing theft, fraud, and/or the like.

Some implementations, described herein, provide a user experienceplatform that uses user recognition techniques to identify individuals,in a manner designed to provide those individuals with an enhanced userexperience, e.g., when visiting a place of business. For example, theuser experience platform may receive, from a camera device located at aplace of business, an image of a person (e.g., an image of a person thatwas captured as the person entered a place of business, such as a retailstore). The user experience platform may use the image and a userrecognition device (e.g., a facial recognition device) to obtain a useridentifier associated with the person. Based on the user identifier, theuser experience platform may obtain user data that specifies a varietyof information about the person associated with the user identifier(e.g., user shopping preferences, payment account information, previoustransactions, and/or the like). The user experience platform may thenprovide the obtained user data to a user device, such as a user devicein possession of an employee at the place of business, enabling the userof the user device to view the information about the person, in a mannerdesigned to enable the user to provide the person that entered the placeof business with an enhanced user experience (e.g., providing relevantspecial offers or suggestions, helpful recommendations, and/or thelike). In some implementations, the user data sent to a user device maybe used to prevent malicious behavior, such as theft (e.g., from apositive identification of a flagged person), and/or fraud (e.g., byconfirming that a person is who they purport to be).

By using user recognition techniques to identify people who enter aplace of business, and other techniques to provide user devices withinformation associated with people who enter the place of business, auser experience platform may provide an enhanced user experience forindividuals and obviate the need to use computing resources andtechnology that might otherwise be used to attempt to improve userexperience. For example, a person may opt-in to the user experienceplatform, which may result in the person having encounters withemployees that are more knowledgeable about the person, have relevantoffers for the person, and/or otherwise improve the person's experienceat a place of business. For a place of business, the user experienceplatform may enable the place of business and the associated employeesto provide a better experience for customers, which may lead toincreased sales and conservation of both human and computing resources.

Human resource may be conserved, for example, in situations where theuser experience platform provides user devices with user data in amanner designed to notify an employee that is available and near theperson associated with the user data, which may reduce time spent byother employees attempting to provide service to the person. Computingresources may be conserved, for example, by obviating the use of complexanalytic and marketing technology to target people with advertisements,offers, and the like, enabling a user (e.g., an employee) provide animproved user experience instead. Additionally, in some implementations,the user experience platform may be used for the prevention of maliciousbehavior, which may help protect the target of fraud, theft, and/or thelike.

FIG. 1 is a diagram of an overview of an example implementation 100described herein. As shown in FIG. 1, example implementation 100includes a camera device (e.g., still camera, video camera, or device incommunication with a camera) for capturing images, a user recognitiondevice (e.g., facial recognition device, voice recognition device,biometric identification device, and/or the like) for recognizing peopledepicted in images (e.g., images captured by the camera device), a userdata storage device (e.g., a server computer, data storage array, localdata storage device, and/or the like) for storing user data, a userdevice (e.g., a smart phone, tablet computer, personal computer, and/orthe like) for receiving and displaying user data, and a user experienceplatform (e.g., a personal computer, server computer, cloud computingplatform, and/or the like) for providing user data to the user device.

As further shown in FIG. 1, and by reference number 110, the userexperience platform receives, from the camera device, a customer image(e.g., as a customer enters a place of business or a particular areawithin a place of business). The customer image may depict, for example,a customer which, in the example implementation 100, is labeled“Customer.”

As further shown in FIG. 1, and by reference number 120, the userexperience platform provides the customer image to a user recognitiondevice and receives a user identifier in return. For example, the userrecognition device may be a facial recognition device that performsfacial recognition on the customer image in an attempt to identify thecustomer depicted in the customer image. The customer may havepreviously registered an image of the face of the customer (e.g., viathe user experience platform), enabling a facial recognition device toidentify the customer and provide the user experience platform with auser identifier that was previously associated with the customer (e.g.,during registration).

As further shown in FIG. 1, and by reference number 130, the userexperience platform uses the user identifier to obtain user data from auser data storage device. The user data may include a variety ofinformation related to the person associated with the user identifier(e.g., the customer), including prior activity associated with thecustomer. User data may include, for example, information regardingprevious transactions associated with the customer, a previous image ofthe customer (e.g., the image used during user registration), thecustomer's name, payment account information associated with thecustomer, user preferences associated with the customer, third partyprovided information associated with the customer, and/or the like. Asthe user experience platform may be opt-in, the user data may be assparse or comprehensive as specified by the customer opting into theservice.

As further shown in FIG. 1, and by reference number 140, the userexperience platform identifies a user device and provides userinformation to the user device, which in the example implementation 100is associated with a second person identified as “Employee” (e.g., anemployee of a place of business). The user experience platform mayidentify the user device in a variety of ways (e.g., based on the cameradevice and user device being physically close to one another, which mayindicate that the employee is near the customer). The user informationprovided to the user device may include a variety of information, suchas information included in the user data, as well as the customer imagecaptured by the camera device. This may enable, for example, theemployee to use the customer image to identify the customer and then usethe user data to provide an enhanced user experience to the customer. Insome implementations, the user information may enable the employee toidentify the customer as a potentially malicious person.

Accordingly, by using user recognition techniques to identify people whoenter a place of business, and other techniques to provide user deviceswith information associated with people who enter the place of business,a user experience platform may provide an enhanced user experience forindividuals and obviate the need to use computing resources andtechnology that might otherwise be used to attempt to improve userexperience. For example, a customer may opt-in to the user experienceplatform, which may result in the customer having encounters withemployees that are more knowledgeable about the customer, have relevantoffers for the customer, and/or otherwise improve the customer'sexperience at a place of business. For a place of business, the userexperience platform may enable the place of business and the associatedemployees to provide a better experience for customers, which may leadto increased sales and conservation of both human and computingresources.

Human resource may be conserved, for example, in situations where theuser experience platform provides user devices with user data in amanner designed to notify an employee that is available and near thecustomer associated with the user data, which may reduce time spent byother employees attempting to provide service to the customer. Computingresources may be conserved, for example, by obviating the use of complexanalytic and marketing technology to target people with advertisements,offers, and/or the like, enabling a user (e.g., an employee) provide animproved user experience instead. Additionally, in some implementations,the user experience platform may be used for the prevention of maliciousbehavior, which may help protect targets of fraud, theft, and/or thelike.

As indicated above, FIG. 1 is provided merely as an example. Otherexamples are possible and may differ from what was described with regardto FIG. 1.

FIG. 2 is a diagram of an example environment 200 in which systemsand/or methods, described herein, may be implemented. As shown in FIG.2, environment 200 may include a camera device 210, a user recognitiondevice 220, a user data storage device 230, a user device 240, a userexperience platform 250, a computing resource 255, a cloud computingenvironment 260, and a network 270. Devices of environment 200 mayinterconnect via wired connections, wireless connections, or acombination of wired and wireless connections.

Camera device 210 includes one or more devices capable of receiving,generating, storing, processing, and/or providing information associatedwith one or more images (e.g., photographs), video, and/or audio. Forexample, camera device 210 may include a digital still camera, analogstill camera, digital video camera, analog video camera, a microphone,or a communication and/or computing device in communication with acamera, such as a mobile phone (e.g., a smart phone, a radiotelephone,etc.), a laptop computer, a desktop computer, a tablet computer, ahandheld computer, a gaming device, a wearable communication device(e.g., a smart wristwatch, a pair of smart eyeglasses, etc.), a serverdevice, a group of server devices, a cloud computing device, a datacenter device, or a similar type of device. Camera device 210 mayinclude hardware, or a combination of hardware and software, thatenables camera device 210 to capture an image and/or video and transmitthe captured image and/or video to another device or devices, such asuser experience platform 250. In some implementations, camera device 210may be fixed to a particular location (e.g., at a place of business),and in some implementations, camera device 210 may be affixed to anemployee (e.g., by a wearable communication device, tablet computer,and/or the like).

User recognition device 220 includes one or more devices capable ofreceiving, generating, storing, processing, and/or providing informationassociated with one or more images (e.g., photographs), video, and/oraudio. For example, user recognition device 220 may include acommunication and/or computing device, such as a desktop computer, aserver device, a group of server devices, a cloud computing device, adata center device, or a similar type of device. User recognition device220 includes hardware, or a combination of hardware and software, thatis capable of receiving an image, a video, and/or an audio file,identifying a person included in the image, the video, and/or the audiofile, and providing data identifying the person as a result, e.g., touser experience platform 250. User recognition device 220 may include,for example, a facial recognition device capable of identifying a personby analyzing facial features included in an image and/or video; a gaitrecognition device capable of identifying a person by analyzing themanner in which the person stands, walks, or runs, as depicted in animage and/or video; a biometric recognition device capable ofidentifying a person by analyzing features of the person's eye(s)included in an image and/or video, a voice recognition device capable ofidentifying a person by analyzing features of the person's voice inaudio, and/or the like.

User data storage device 230 includes one or more devices capable ofreceiving, generating, storing, processing, and/or providing informationassociated with user data. For example, user data storage device 230 mayinclude a local hard drive, network hard drive, desktop computer, aserver device, a group of server devices, a cloud computing device, adata center device, or a similar type of device. User data storagedevice 230 may include hardware, or a combination of hardware andsoftware, that is capable of receiving, storing, and providinginformation related to a user identifier.

User device 240 includes one or more devices capable of receiving,generating, storing, processing, and/or providing information associatedwith user data. For example, user device 240 may include a communicationand/or computing device, such as a mobile phone (e.g., a smart phone, aradiotelephone, etc.), a laptop computer, a tablet computer, a handheldcomputer, a gaming device, a wearable communication device (e.g., asmart wristwatch, a pair of smart eyeglasses, etc.), or a similar typeof device. User device 240 may include one or more components fordisplaying user data, such as user data received from user experienceplatform 250. In some implementations, user device 240 may include oneor more components (e.g., global positioning satellite (GPS) device,Wi-Fi device, Bluetooth device, and/or the like) for determining thephysical location of user device 240.

User experience platform 250 includes one or more devices capable ofreceiving, generating, storing, processing, and/or providing informationassociated with images, video, and/or user data. For example, userexperience platform 250 may include a server device (e.g., a hostserver, a web server, an application server, etc.), a data centerdevice, or a similar device. User experience platform 250 is capable ofreceiving images and/or video from camera device 210, obtaining a useridentifier from user recognition device 220, obtaining user dataassociated with the user identifier from user data storage device 230,and identifying and providing the user data to user device 240.

In some implementations, as shown, user experience platform 250 may behosted in cloud computing environment 260. Notably, whileimplementations described herein describe user experience platform 250as being hosted in cloud computing environment 260, in someimplementations, user experience platform 250 might not be cloud-based(i.e., may be implemented outside of a cloud computing environment) ormight be partially cloud-based.

Cloud computing environment 260 includes an environment that deliverscomputing as a service, whereby shared resources, services, etc. may beprovided to user experience platform 250. Cloud computing environment260 may provide computation, software, data access, storage, and/orother services that do not require end-user knowledge of a physicallocation and configuration of a system and/or a device that delivers theservices.

Computing resource 255 includes one or more personal computers,workstation computers, server devices, or another type of computationand/or communication device. In some implementations, computing resource255 may host user experience platform 250. The cloud resources mayinclude compute instances executing in computing resource 255, storagedevices provided in computing resource 255, data transfer devicesprovided by computing resource 255, etc. In some implementations,computing resource 255 may communicate with other computing resources255 via wired connections, wireless connections, or a combination ofwired and wireless connections.

As further shown in FIG. 2, computing resource 255 may include a groupof cloud resources, such as one or more applications (“APPs”) 255-1, oneor more virtual machines (“VMs”) 255-2, virtualized storage (“VSs”)255-3, one or more hypervisors (“HYPs”) 255-4, or the like.

Application 255-1 includes one or more software applications that may beprovided to or accessed by one or more devices, such as camera device210, user recognition device 220, user data storage device 230, userdevice 240, and/or user experience platform 250. Application 255-1 mayeliminate a need to install and execute the software applications ondevices, such as camera device 210, user recognition device 220, userdata storage device 230, user device 240. For example, application 255-1may include software associated with user experience platform 250 and/orany other software capable of being provided via cloud computingenvironment 260. In some implementations, one application 255-1 maysend/receive information to/from one or more other applications 255-1,via virtual machine 255-2.

Virtual machine 255-2 includes a software implementation of a machine(e.g., a computer) that executes programs like a physical machine.Virtual machine 255-2 may be either a system virtual machine or aprocess virtual machine, depending upon use and degree of correspondenceto any real machine by virtual machine 255-2. A system virtual machinemay provide a complete system platform that supports execution of acomplete operating system (“OS”). A process virtual machine may executea single program, and may support a single process. In someimplementations, virtual machine 255-2 may execute on behalf of a user(e.g., user device 240), and may manage infrastructure of cloudcomputing environment 260, such as data management, synchronization, orlong-duration data transfers.

Virtualized storage 255-3 includes one or more storage systems and/orone or more devices that use virtualization techniques within thestorage systems or devices of computing resource 255. In someimplementations, within the context of a storage system, types ofvirtualizations may include block virtualization and filevirtualization. Block virtualization may refer to abstraction (orseparation) of logical storage from physical storage so that the storagesystem may be accessed without regard to physical storage orheterogeneous structure. The separation may permit administrators of thestorage system flexibility in how the administrators manage storage forend users. File virtualization may eliminate dependencies between dataaccessed at a file level and a location where files are physicallystored. This may enable optimization of storage use, serverconsolidation, and/or performance of non-disruptive file migrations.

Hypervisor 255-4 provides hardware virtualization techniques that allowmultiple operating systems (e.g., “guest operating systems”) to executeconcurrently on a host computer, such as computing resource 255.Hypervisor 255-4 may present a virtual operating platform to the guestoperating systems, and may manage the execution of the guest operatingsystems. Multiple instances of a variety of operating systems may sharevirtualized hardware resources.

Network 270 includes one or more wired and/or wireless networks. Forexample, network 270 may include a cellular network (e.g., a long-termevolution (LTE) network, a code division multiple access (CDMA) network,a 3G network, a 4G network, a 5G network, another type of nextgeneration network, etc.), a public land mobile network (PLMN), a localarea network (LAN), a wide area network (WAN), a metropolitan areanetwork (MAN), a telephone network (e.g., the Public Switched TelephoneNetwork (PSTN)), a private network, an ad hoc network, an intranet, theInternet, a fiber optic-based network, a cloud computing network, or thelike, and/or a combination of these or other types of networks.

The number and arrangement of devices and networks shown in FIG. 2 areprovided as an example. In practice, there may be additional devicesand/or networks, fewer devices and/or networks, different devices and/ornetworks, or differently arranged devices and/or networks than thoseshown in FIG. 2. Furthermore, two or more devices shown in FIG. 2 may beimplemented within a single device, or a single device shown in FIG. 2may be implemented as multiple, distributed devices. Additionally, oralternatively, a set of devices (e.g., one or more devices) ofenvironment 200 may perform one or more functions described as beingperformed by another set of devices of environment 200.

FIG. 3 is a diagram of example components of a device 300. Device 300may correspond to camera device 210, user recognition device 220, userdata storage device 230, user device 240, user experience platform 250,and/or computing resource 255. In some implementations, camera device210, user recognition device 220, user data storage device 230, userdevice 240, user experience platform 250, and/or computing resource 255may include one or more devices 300 and/or one or more components ofdevice 300. As shown in FIG. 3, device 300 may include a bus 310, aprocessor 320, a memory 330, a storage component 340, an input component350, an output component 360, and a communication interface 370.

Bus 310 includes a component that permits communication among thecomponents of device 300. Processor 320 is implemented in hardware,firmware, or a combination of hardware and software. Processor 320 is acentral processing unit (CPU), a graphics processing unit (GPU), anaccelerated processing unit (APU), a microprocessor, a microcontroller,a digital signal processor (DSP), a field-programmable gate array(FPGA), an application-specific integrated circuit (ASIC), or anothertype of processing component. In some implementations, processor 320includes one or more processors capable of being programmed to perform afunction. Memory 330 includes a random access memory (RAM), a read onlymemory (ROM), and/or another type of dynamic or static storage device(e.g., a flash memory, a magnetic memory, and/or an optical memory) thatstores information and/or instructions for use by processor 320.

Storage component 340 stores information and/or software related to theoperation and use of device 300. For example, storage component 340 mayinclude a hard disk (e.g., a magnetic disk, an optical disk, amagneto-optic disk, and/or a solid state disk), a compact disc (CD), adigital versatile disc (DVD), a floppy disk, a cartridge, a magnetictape, and/or another type of non-transitory computer-readable medium,along with a corresponding drive.

Input component 350 includes a component that permits device 300 toreceive information, such as via user input (e.g., a touch screendisplay, a keyboard, a keypad, a mouse, a button, a switch, and/or amicrophone). Additionally, or alternatively, input component 350 mayinclude a sensor for sensing information (e.g., a global positioningsystem (GPS) component, an accelerometer, a gyroscope, and/or anactuator). Output component 360 includes a component that providesoutput information from device 300 (e.g., a display, a speaker, and/orone or more light-emitting diodes (LEDs)).

Communication interface 370 includes a transceiver-like component (e.g.,a transceiver and/or a separate receiver and transmitter) that enablesdevice 300 to communicate with other devices, such as via a wiredconnection, a wireless connection, or a combination of wired andwireless connections. Communication interface 370 may permit device 300to receive information from another device and/or provide information toanother device. For example, communication interface 370 may include anEthernet interface, an optical interface, a coaxial interface, aninfrared interface, a radio frequency (RF) interface, a universal serialbus (USB) interface, a Wi-Fi interface, a Bluetooth interface, acellular network interface, or the like.

Device 300 may perform one or more processes described herein. Device300 may perform these processes based on processor 320 executingsoftware instructions stored by a non-transitory computer-readablemedium, such as memory 330 and/or storage component 340. Acomputer-readable medium is defined herein as a non-transitory memorydevice. A memory device includes memory space within a single physicalstorage device or memory space spread across multiple physical storagedevices.

Software instructions may be read into memory 330 and/or storagecomponent 340 from another computer-readable medium or from anotherdevice via communication interface 370. When executed, softwareinstructions stored in memory 330 and/or storage component 340 may causeprocessor 320 to perform one or more processes described herein.Additionally, or alternatively, hardwired circuitry may be used in placeof or in combination with software instructions to perform one or moreprocesses described herein. Thus, implementations described herein arenot limited to any specific combination of hardware circuitry andsoftware.

The number and arrangement of components shown in FIG. 3 are provided asan example. In practice, device 300 may include additional components,fewer components, different components, or differently arrangedcomponents than those shown in FIG. 3. Additionally, or alternatively, aset of components (e.g., one or more components) of device 300 mayperform one or more functions described as being performed by anotherset of components of device 300.

FIG. 4 is a flow chart of an example process 400 for providing a userrecognition based user experience platform. In some implementations, oneor more process blocks of FIG. 4 may be performed by user experienceplatform 250. In some implementations, one or more process blocks ofFIG. 4 may be performed by another device or a group of devices separatefrom or including user experience platform 250, such as camera device210, user recognition device 220, user data storage device 230, and/oruser device 240.

As shown in FIG. 4, process 400 may include receiving, from a cameradevice, an image that includes a person (block 410). For example, userexperience platform 250 may (e.g., using computing resource 255,processor 320, input component 350, and/or communication interface 370)receive, from camera device 210, an image that includes a customer. Forexample, camera device 210 may be located at a place of business (e.g.,fixed to a particular spot, such as a security camera or camera attachedto a checkout kiosk, or included in user device 240 of an employee atthe place of business) and designed to capture images of customers asthey pass within the camera's field of view. The image may include astill image or photograph, an image obtained from a video camera frame,a video clip, and/or the like.

In some implementations, it may be intended that camera device 210captures and provides images to user experience platform 250automatically. For example, a security camera is generally always on,and may send user experience platform 250 continuous video, periodicvideo clips, still images from the video, and/or the like. In thissituation, the images provided to user experience platform 250 may notall include an image of a customer, in which case the image is notlikely to be used for user recognition. As another example, a checkoutkiosk may include a camera that automatically and periodically capturesimages, which may be provided to user experience platform 250. In thissituation, user experience platform 250 may analyze each image todetermine whether a person is depicted in the image and the image may bediscarded, for example, if a person is not included in the image, if theperson is not identifiable from the image, if an image does not meet athreshold measure of clarity for identifying a person included in theimage, and/or the like.

In some implementations, camera device 210 may include hardware or acombination of hardware and software that is designed to capture imagesor video in response to the occurrence of an event. For example, sensordevices, such as motion detection sensors, may use sensor data to causea camera device to activate image capture based on detecting movement.As another example, facial recognition software may cause a cameradevice to activate image capture when a face is detected. Based on thecapturing of an image, devices designed to capture images in response tothe occurrence of an event may provide user experience platform 250 withthe captured images as they are captured.

In some implementations, camera device 210 may be manually triggered tocapture an image of a customer. For example, camera device 210 may beincluded in user device 240, which a user (e.g., an employee) may use tointentionally capture the image of the customer. As another example, auser may remotely trigger camera device 210 (e.g., in response toobserving a customer on a camera feed) to capture the image of thecustomer. In this situation, the image of the customer may be providedto user experience platform 250 manually (e.g., by the user operatingcamera device 210) or automatically (e.g., by camera device 210 orcorresponding user device 240).

In this way, user experience platform 250 may receive, from cameradevice 210, an image that includes a person, enabling user experienceplatform 250 to identify the person and improve user experience.

As further shown in FIG. 4, process 400 may include obtaining a useridentifier associated with the person included in the image (block 420).For example, user experience platform 250 may (e.g., using computingresource 255, processor 320, input component 350, and/or communicationinterface 370) obtain, from user recognition device 220, a useridentifier associated with the customer included in the image. Userrecognition device 220 may, in some implementations, be included in userexperience platform 250 or, in some implementations, user recognitiondevice 220 may be separate from user experience platform 250. Userrecognition device 220 may determine the user identifier based on theimage of the customer, which user experience platform 250 may provide.The user identifier may include a variety of forms of identification,such as a string of characters, an image of the user, a voice pattern,and/or the like. After identifying the customer included in the imageand identifying a corresponding user identifier, user recognition device220 may provide the user identifier to user experience platform 250.

In some implementations, user recognition device 220 may be a facialrecognition device that uses facial features of the customer to identifythe customer depicted in the image. For example, the customer includedin the image may have previously registered with the facial recognitiondevice (e.g., by providing facial recognition device with a trainingimage depicting the face of the customer). In some implementations,other types of user recognition device(s) 220 may be used. For example,user recognition device 220 may be a gait recognition device that makesuse of images and/or video to identify a customer based on the manner inwhich the customer stands, walks, or runs. As another example, userrecognition device 220 may be an object recognition device designed torecognize an object included in an image, which enables identifying thecustomer, such as a nametag, matrix barcode, and/or the like.

In some implementations, the customer included in the image, and forwhich the user identifier is obtained, previously registered (e.g.,opted in) with user experience platform 250 and/or user recognitiondevice 220. For example, when opting into the user experience platform250, the customer may provide (e.g., in addition to other data, such ascustomer name, address, contact information, shopping preferences,and/or the like) training data that can be used to identify the customerfrom images. Training data may include, for example, one or more imagesof the customer's face, one or more video clips of the customer walking,a matrix barcode, name tag, and/or the like. The training data mayenable user recognition device 220 to train a recognition model, whichmay be used to later identify the customer from other images. In someimplementations, the user identifier may be assigned to the customer atthe time of registration, enabling user recognition device 220 to matchan image of a customer to that customer's user identifier. The useridentifier may be designed to uniquely identify the customer, such as aunique string of letters, numbers, a facial signature, biometricsignature, voice recognition signature, and/or the like.

In this way, user experience platform 250 may obtain, from userrecognition device 220, a user identifier associated with the personincluded in the image, enabling user experience platform 250 to obtainuser data associated with the person included in the image.

As further shown in FIG. 4, process 400 may include obtaining user databased on the user identifier (block 430). For example, user experienceplatform 250 may (e.g., using computing resource 255, processor 320,memory 330, storage component 340, input component 350, and/orcommunication interface 370) obtain user data based on the useridentifier. The user data may be obtained, for example, from user datastorage device 230, which may be included in or otherwise incommunication with user experience platform 250. For example, the userdata may be stored in a database or other data structure, enabling userexperience platform 250 to query user data storage device 230 using theuser identifier, receive user data in response to the query.

In some implementations, user data may include at least one other imageassociated with the user identifier (e.g., other images depicting thecustomer included in the image). For example, user data may include aregistered image that depicts the customer at the time of registration(e.g., training image(s)) and/or other images, such as updated imagesthe customer associated with the user identifier may have provided touser experience platform 250, images that were captured by camera device210 or other camera devices 210 and stored by user data storage device230, and/or the like.

In some implementations, user data may include information identifyingthe customer associated with the user identifier. For example, a varietyof information could be used to identify the customer, such as a name,nickname, username, electronic mail address, hair color, eye color,height, and/or the like.

In some implementations, user data may include information identifyinguser account information for the customer associated with the useridentifier. For example, at a place of business, a customer may have anaccount, such as a store credit card, loyalty account, and/or the like,the details of which may be included in the user data. In addition, userpayment account information, such as credit card information, debit cardinformation, and/or the like, may also be included in user data.

In some implementations, user data may include location-basedinformation associated with a physical location of a camera device 210.For example, in a situation where camera device 210 is associated with aplace of business, user data may include historical transactioninformation, such as retail purchase history for a retailer, previousorder information for a restaurant, account activity for a bank, and/orthe like.

In some implementations, user data may include information obtained froma third party device. For example, Internet shopping history associatedwith the user identifier may be collected by a third party device andshared with user experience platform 250. As another example, anotherplace of business may share user data with user experience platform 250(e.g., in a situation where a customer has opted in to sharing user datafrom third party devices, such as those at another place of business).

In some implementations, user data may include information regardingmalicious activity of the customer. For example, the customer may havebeen flagged as a thief, be the subject of a warning issued by lawenforcement, and/or the like.

As noted above, a large variety of user data may be obtained by userexperience platform 250, and other example types of user data may alsobe included in the user data obtained by user experience platform. Insome implementations, the person associated with the user identifier(e.g., the customer) may control the manner in which user data iscollected or used (e.g., by opting in, or out, of the storage and/or useof particular types of user data). In this way, user experience platform250 may obtain user data based on the user identifier, enabling userexperience platform 250 to provide the user data to a user device, e.g.,in a manner designed to enable the user of the user device to provide acustomer with an enhanced user experience.

As further shown in FIG. 4, process 400 may include identifying a userdevice based on the camera device (block 440). For example, userexperience platform 250 may (e.g., using computing resource 255,processor 320, input component 350, output component 360, and/orcommunication interface 370) identify user device 240 based on cameradevice 210. In some implementations, user experience platform 250 mayidentify user device 240 in a manner designed to enhance the experienceof the customer (e.g., the customer included in the image captured bycamera device 210). The identification of user device 240 may beperformed in a variety of ways.

In some implementations, user experience platform 250 identifies userdevice 240 based on camera device 210 being included in or attached touser device 240. For example, in a situation where user device 240 is atablet computer that includes a camera that was used to capture theimage of the customer, user experience platform 250 may determine thatthe tablet computer should be provided with the user data (e.g.,enabling the user of the tablet computer, which was used to capture theimage of the customer, to use user data to enhance the customer's userexperience). As another example, a retail checkout kiosk or bankemployee terminal may include or be attached to a camera that capturedthe image of the customer, in which case user experience platform 250may identify the retail checkout kiosk or bank employee terminal as theuser device 240 to which user data should be provided.

In some implementations, camera device 210 is associated with a physicallocation, and user experience platform 250 may identify user device 240based on the physical location of camera device 210 and a physicallocation associated with user device 240. For example, the physicallocation of cameras (e.g., security cameras, cameras included in kiosks,cameras included in tablet computers, and/or the like) may be determinedin a variety of ways. The physical location of some cameras may bepredetermined (e.g., such as a fixed security camera and/or cameraincluded in a stationary kiosk), while the physical location of somecameras may be determined by components included in camera device 210(e.g., such as GPS, Wi-Fi, or Bluetooth location information that can beprovided by components of a camera that includes the foregoingcomponents or a camera that is included in another device that includethe foregoing components). Similarly, components included in user device240 may be used to determine a location of user device 240 (e.g., GPScomponents, Wi-Fi components, Bluetooth components, and/or the like, maybe included in user device 240 and used to determine the physicallocation of user device 240). Based on the physical location of cameradevice 210 being proximate to the physical location of user device 240(e.g., in a situation where the devices are within a threshold measureof distance from one another), user experience platform 250 may identifyuser device 240 as the device to which user data should be provided,e.g., in a manner designed to enable an employee at a business locationthe receive user data for a customer that is likely to near theemployee.

In some implementations, multiple user devices 240 may be associatedwith a physical location near camera device 210. For example, in aretail store, many employees may have user devices 240 (such as a tabletcomputer), and multiple employees (and their corresponding user devices240) may be physically near camera device 210 (e.g., near the customerincluded in the image captured by a security camera). In this situation,user experience platform 250 may identify one of the multiple userdevices 240 in a variety of ways. For example, user devices 240 may beassigned a priority value based on a variety of factors, and userexperience platform 250 may identify the device with the highestpriority as the device to which user data should be sent. Factors thatuser experience platform 250 may use to identify user device 240 mayinclude, for example, data indicating whether the employee associatedwith user device 240 is available, a physical measure of distancebetween user device 240 and camera device 210, previous experience thata particular employee associated with user device 240 may have with thecustomer included in the image, and/or the like.

In some implementations, user experience platform 250 may use cameradevice 210 to identify user device 240 (e.g., the device to which userdata should be provided). For example, a retail store may include manysecurity cameras, at least one of which may have identified an employee(e.g., a user of user device 240). Based on identifying the employeeusing camera device 210 (e.g., in a manner similar to the manner inwhich the customer in the image was identified), user experienceplatform 250 may identify user device 240 of the employee as the deviceto which user data should be provided. In some implementations, such asa situation where multiple cameras are used, and where physical locationis used to identify user device 240, physical locations of the camerasmay be used to identify an employee (e.g., an employee with user device240) that is likely to be near the camera that captured the image of thecustomer. For example, in a retail store with multiple security cameras,the employee that is closest to the security camera that captured theimage of the customer may be identified (e.g., via one of the securitycameras), and user experience platform 250 may identify (e.g., as userdevice 240 to which user data should be sent) a device associated withthe identified employee.

In some implementations, user device 240 may identify user device 240 touser experience platform 250. For example, user experience platform 250may broadcast to multiple user devices 240, or otherwise make availableto user devices 240 (e.g., via an application, web page, and/or thelike), user data for the customer included in the image. In thissituation, employees associated with the user devices 240 may claim userdata, or otherwise indicate to user experience platform 250 that theemployee of the corresponding user device 240 is interested in using theuser data to provide the customer with an enhanced user experience. Byway of example, user experience platform 250, after obtaining user data,may broadcast a request to multiple user devices 240 at a retaillocation, enabling the employees using the user devices 240 to determinewhether they are available and/or interested in assisting the customerassociated with the user data.

In this way, user experience platform 250 may identify a user devicebased on the camera device, enabling user experience platform 250 toprovide the user data to the identified user device, e.g., in a mannerdesigned to provide the customer associated with the user data with anenhanced user experience.

As further shown in FIG. 4, process 400 may include providing the userdata to the user device (block 450). For example, user experienceplatform 250 may (e.g., using computing resource 255, processor 320,output component 360, and/or communication interface 370) provide theuser data to user device 240. For example, user experience platform 250may provide the user data to user device 240 via network 270. Providingthe user data to user device 240 may enable the employee using userdevice 240 to provide an enhanced user experience (e.g., for thecustomer associated with the user data).

In some implementations, the user data (or other data sent to userdevice 240 that is associated with the user data) causes user device 240to display at least a portion of the user data on a display of userdevice 240. For example, the user data may include or be associated withinstructions that cause an application operating on user device 240(e.g., a web browsing application, user experience application, and/orthe like) to cause display of some of the information regarding thecustomer associated with the user data (e.g., the image of the customer,the customer's name, and/or the like). As described in further detailbelow, causing the display of user data on user device 240 may enablethe employee using user device 240 to provide an enhanced experience forthe customer associated with the user data.

In some implementations, the user data provided to user device 240 mayinclude any of the user data obtained by user experience platform 250(e.g., user data obtained in block 430). By way of example, user datamay include a registered image depicting a registered user associatedwith the user identifier (e.g., the image the customer included in theimage used to register with user recognition device 220); having aregistered image of the customer may enable the employee using userdevice 240, for example, to positively identify the customer using theimage. User data may include information identifying the registered userassociated with the user identifier (e.g., the customer's name,nickname, and/or the like); having information identifying the customermay enable the employee using user device 240, for example, to greet thecustomer by name. In a situation where user experience platform 250 isused for fraud prevention, the customer's name may be used to preventfraud (e.g., in a situation where the customer may give a false name toimpersonate someone else).

User data may also include information identifying user accountinformation for the registered user associated with the user identifier(e.g., such as a customer loyalty number, member identifier, bankaccount number, and/or the like); user account information may enablethe employee using user device 240, for example, to look up preferencesthe customer may have that are associated with the user account, applyloyalty program benefits automatically for the customer, and/or thelike. User data may include location-based information associated withthe physical location of camera device 210 (e.g., information specificto a retail store location, bank location, and/or the like, such aspurchase history at the location, preferences associated with thelocation, and/or the like); location-based information may enable theemployee using user device 240, for example, provide the customer withsuggestions, information, services, and/or products associated with thecustomer's preferences.

As another example, user data may include information obtained from athird party device and associated with the user identifier (e.g.,Internet shopping history, shopping history from another retaillocation, services obtained from another place of business, and/or thelike); information obtained from a third party device may enable theemployee using user device 240, for example, to provide the customerwith a variety of information, offers, and/or the like, that may berelevant to the customer, e.g., in a manner designed to improve thecustomer's experience.

In some implementations, user experience platform 250 may provide theimage of the customer (e.g., the image captured by camera device 210 asthe customer entered the place of business) to user device 240. In thissituation, the image of the customer is likely to be the most recentimage available to user device 240, which may increase the likelihoodthat the employee using user device 240 is able to positively identifythe customer (e.g., from the image captured by camera device 210). Inaddition, this may enable the employee using user device 240 to providethe image of the customer as an image to be stored in user data storagedevice 230 and/or provided to user recognition device 220 (e.g., toassist in subsequent user identifications).

In some implementations, user experience platform 250 may identify userexperience data to send to user device 240 (e.g., alternatively to, orin addition to, the user data). For example, user experience data mayinclude suggested offers (e.g., coupons, discounts, and/or the like),suggested services, suggested products, and/or the like. In someimplementations, user experience data may be based on the user data. Forexample, user experience platform 250 may provide a special offer basedon user data indicating that it is a customer's birthday, provide acoupon based on the customer spending a threshold amount at the businesslocation, and/or the like. In some implementations, the user experiencedata may cause user device 240 to take an action. For example, userdevice 240 may include a store coupon printer that prints a coupon to beprovided to the customer based on receipt of the user experience data.As another example, user device 240 may include a restaurant orderingsystem that places an order for a particular drink and/or meal based onreceipt of the user experience data. The user experience data may bebased on the user data (e.g., based on historical purchases, shoppinghistory, and/or the like) and, in some implementations, may make use ofanalytics to determine which user experience data should be provided.

In this way, user experience platform 250 may provide the user data touser device 240, enabling a user of user device 240 (e.g., an employee)to use the information provided by user experience platform 250 toprovide an enhanced user experience for the customer.

Although FIG. 4 shows example blocks of process 400, in someimplementations, process 400 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 4. Additionally, or alternatively, two or more of theblocks of process 400 may be performed in parallel.

By using user recognition techniques to identify people who enter aplace of business, and other techniques to provide user devices 240 withinformation associated with people who enter the place of business, userexperience platform 250 may provide an enhanced user experience forindividuals and obviate the need to use computing resources andtechnology that might otherwise be used to attempt to improve userexperience. For example, a person may opt-in to user experience platform250, which may result in the person having encounters with employeesthat are more knowledgeable about the person, have relevant offers forthe person, and/or otherwise improve the person's experience at a placeof business. For a place of business, user experience platform 250 mayenable the place of business and the associated employees to provide abetter experience for customers, which may lead to increased sales andconservation of both human and computing resources.

Human resource may be conserved, for example, in situations where userexperience platform 250 provides user devices 240 with user data in amanner designed to notify an employee that is available and near thecustomer associated with the user data, which may reduce time spent byother employees attempting to provide service to the customer. Computingresources may be conserved, for example, by obviating the use of complexanalytic and marketing technology to target people with advertisements,offers, and/or the like, enabling a user (e.g., an employee) provide animproved user experience instead. Additionally, in some implementations,user experience platform 250 may be used for the prevention of maliciousbehavior, which may help protect targets of fraud, theft, and/or thelike.

The foregoing disclosure provides illustration and description, but isnot intended to be exhaustive or to limit the implementations to theprecise form disclosed. Modifications and variations are possible inlight of the above disclosure or may be acquired from practice of theimplementations.

As used herein, the term component is intended to be broadly construedas hardware, firmware, or a combination of hardware and software.

Some implementations are described herein in connection with thresholds.As used herein, satisfying a threshold may refer to a value beinggreater than the threshold, more than the threshold, higher than thethreshold, greater than or equal to the threshold, less than thethreshold, fewer than the threshold, lower than the threshold, less thanor equal to the threshold, equal to the threshold, or the like.

It will be apparent that systems and/or methods, described herein, maybe implemented in different forms of hardware, firmware, or acombination of hardware and software. The actual specialized controlhardware or software code used to implement these systems and/or methodsis not limiting of the implementations. Thus, the operation and behaviorof the systems and/or methods were described herein without reference tospecific software code—it being understood that software and hardwarecan be designed to implement the systems and/or methods based on thedescription herein.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of possible implementations. In fact,many of these features may be combined in ways not specifically recitedin the claims and/or disclosed in the specification. Although eachdependent claim listed below may directly depend on only one claim, thedisclosure of possible implementations includes each dependent claim incombination with every other claim in the claim set.

No element, act, or instruction used herein should be construed ascritical or essential unless explicitly described as such. Also, as usedherein, the articles “a” and “an” are intended to include one or moreitems, and may be used interchangeably with “one or more.” Furthermore,as used herein, the term “set” is intended to include one or more items(e.g., related items, unrelated items, a combination of related andunrelated items, etc.), and may be used interchangeably with “one ormore.” Where only one item is intended, the term “one” or similarlanguage is used. Also, as used herein, the terms “has,” “have,”“having,” or the like are intended to be open-ended terms. Further, thephrase “based on” is intended to mean “based, at least in part, on”unless explicitly stated otherwise.

What is claimed is:
 1. A device, comprising: one or more memory devices;and one or more processors, communicatively connected to the one or morememory devices, to: receive, from a camera device, a plurality ofimages; analyze, using a computer-implemented user recognitiontechnique, the plurality of images to identify an image that includes aperson; determine, for another image of the plurality of images, thatthe person is not identifiable from the other image; discard the otherimage based on the determination that the person is not identifiablefrom the other image; provide the image to a user recognition device;receive, from the user recognition device, a user identifier based onthe person included in the image; obtain user data based on the useridentifier, the user data relating to prior activity relating to theperson associated with the user identifier; identify a user device basedon, a first physical location associated with the camera device, asecond physical location associated with the user device, and a measureof distance between the first physical location associated with thecamera device and the second physical location associated with the userdevice; and provide the user data to the user device, the user devicebeing associated with a user that is different from the person.
 2. Thedevice of claim 1, wherein the one or more processors are further to:receive, from the camera device, data identifying the first physicallocation.
 3. The device of claim 1, wherein: the image includes a faceof the person; and the user recognition device is a facial recognitiondevice.
 4. The device of claim 1, wherein the one or more processors arefurther to: receive, from a second camera device, data indicating thesecond physical location.
 5. The device of claim 4, wherein the dataindicating the second physical location includes: a second imagedepicting the user of the user device.
 6. The device of claim 1, whereinthe one or more processors are further to: receive, from the userdevice, data indicating the second physical location.
 7. The device ofclaim 6, wherein the data indicating the second physical locationincludes: sensor data obtained from one or more sensor devicesassociated with the user device.
 8. The device of claim 1, wherein theone or more processors, when identifying the user device, are furtherto: identify the user device based on a measure of priority associatedwith the user device, the measure of priority indicating that the userdevice is associated with a highest measure of priority relative toother measures of priority associated with other user devices.
 9. Anon-transitory computer-readable medium storing instructions, theinstructions comprising: one or more instructions that, when executed byone or more processors, cause the one or more processors to: receive,from a camera device, a plurality of images; analyze, using acomputer-implemented user recognition technique, the plurality of imagesto identify an image that includes a person; determine, for anotherimage of the plurality of images, that the person is not identifiablefrom the other image; discard the other image based on the determinationthat the person is not identifiable from the other image; provide theimage to a user recognition device; obtain, from the user recognitiondevice, a user identifier associated with the person included in theimage; obtain user data based on the user identifier, the user dataincluding: previously collected information regarding the personassociated with the user identifier, or a previously captured image ofthe person associated with the user identifier; identify a user devicebased on, a first physical location associated with the camera device, asecond physical location associated with the user device, and a measureof distance between the first physical location associated with thecamera device and the second physical location associated with the userdevice; and provide the user data to the user device, the user devicebeing associated with a user that is different from the person.
 10. Thenon-transitory computer-readable medium of claim 9, wherein the one ormore instructions, that cause the one or more processors to identify theuser device, cause the one or more processors to: identify the userdevice from a plurality of user devices based on the first physicallocation associated with the camera device being closer to the secondphysical location associated with the user device than other physicallocations associated with other user devices included in the pluralityof user devices.
 11. The non-transitory computer-readable medium ofclaim 9, wherein the one or more instructions, when executed by the oneor more processors, further cause the one or more processors to: providethe image to the user device.
 12. The non-transitory computer-readablemedium of claim 9, wherein the user data provided to the user devicecauses the user device to display at least a portion of the user data.13. The non-transitory computer-readable medium of claim 9, wherein theone or more instructions, when executed by the one or more processors,further cause the one or more processors to: identify user experiencedata based on the user data, the user experience data including asuggested offer for the person associated with the user identifier; andprovide the user experience data to the user device.
 14. A method,comprising: receiving, by a first device and from a camera device, aplurality of images; analyzing, by the first device and using acomputer-implemented user recognition technique, the plurality of imagesto identify an image that includes a person, the person being differentfrom a user associated with the first device; determining, by the firstdevice and for another image of the plurality of images, that the personis not identifiable from the other image; discarding, by the firstdevice, the other image based on the determination that the person isnot identifiable from the other image; obtaining, by the first device, auser identifier associated with the person included in the image;obtaining, by the first device, from a user data storage device, andbased on the user identifier, user data, the user data including:previously collected information regarding the person associated withthe user identifier, and a previously captured image of the personassociated with the user identifier, and the user data being obtainedbased on a measure of distance between a first physical locationassociated with the camera device and a second physical locationassociated with the first device; identifying, by the first device, userexperience data, the user experience data including a suggested offerfor the person associated with the user identifier, the suggested offerbeing based on the user data; and causing, by the first device, displayof the user data and the suggested offer.
 15. The method of claim 14,wherein the user data includes at least one of: a registered imagedepicting a registered user associated with the user identifier,information identifying the registered user associated with the useridentifier, information identifying user account information for theregistered user associated with the user identifier, location-basedinformation associated with a physical location of the camera device, orinformation obtained from a third party device and associated with theuser identifier.
 16. The method of claim 15, wherein the registeredimage was provided by the registered user at a time the registered userregistered.
 17. The method of claim 15, wherein the informationidentifying the registered user associated with the user identifierincludes a name associated with the registered user.
 18. The method ofclaim 15, wherein the information identifying user account informationfor the registered user associated with the user identifier includesuser payment account information.
 19. The method of claim 15, whereinthe location-based information associated with the physical location ofthe camera device includes retail purchase history associated with aretailer.
 20. The method of claim 15, wherein the information obtainedfrom the third party device includes Internet shopping historyassociated with the registered user.